package cn.samler.shopapi.Entity;

import cn.samler.shopapi.Utils.PasswordUtils;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;

import java.util.HashMap;

/**
 * 用户实体类
 */
@Data
public class User {
    // 用户id
    private Integer id;

    // 用户名
    private String username;

    // 密码
    @JsonIgnore
    private String password;

    // 用户头像
    private String avatar;

    // 获取payload中的 token
    @JsonIgnore
    public String getToken() {
        return PasswordUtils.getMD5("19990820-" + this.id + "@" + this.password);
    }

    // 获取jwt中的payload信息
    @JsonIgnore
    public HashMap<String, Object> getPayload() {
        HashMap<String, Object> payload = new HashMap<>();
        payload.put("uid", this.id);
        // username为手机号 数据敏感不能保存在jwt中
        // payload.put("username", this.username);
        payload.put("token", this.getToken());

        return payload;
    }
}
